package main

import "fmt"

//输入一个整数数组，实现一个函数来调整该数组中数字的顺序，
//使得所有奇数位于数组的前半部分，所有偶数位于数组的后半部分。
//输入：nums = [1,2,3,4]
//输出：[1,3,2,4]
//注：[3,1,2,4] 也是正确的答案之一。
func exchange(nums []int) []int {

	low := 0
	hight := len(nums) - 1

	for low < hight {
		if nums[hight]&1 == 1 {
			for nums[low]&1 != 0 && low < hight {
				low++
			}
			tmp := nums[hight]
			nums[hight] = nums[low]
			nums[low] = tmp
		}
		hight--
	}
	return nums
}

func main() {
	nums := []int{8, 14, 0, 5, 16, 4, 10, 6, 1}
	fmt.Println(exchange(nums))
}
